/**
 * Created by ${PRODUCT_NAME}.
 * User: skylerparr
 * Date: 12/23/10
 * Time: 9:34 AM
 * To change this template use File | Settings | File Templates.
 */
package com.thoughtorigin.meta {
import com.thoughtorigin.reflect.FunctionMetaDataItem;
import com.thoughtorigin.reflect.MetaDataItem;

public class Constructor implements MetaType {
    public function Constructor() {
    }

    public function decorate(object:Object, metadata:MetaDataItem, callback:Function):void {
        var func: Function = object[FunctionMetaDataItem(metadata).decoratedPropertyName];
        func.call(this);
        callback.call(this);
    }

    public function preprocess(clazz:Class, metadata:MetaDataItem):void {
    }

    public function get priority():int {
        return 20;
    }

    public function dispose(... args):void {
    }
}
}
